Ext.define('SistIntegral.UInventario.Ubicacion', {

    alias: "FrmUbicacionInventario",
    forward: true,

    Formulario: function(btn) {

        var StoreUbicacionInventarioE = Ext.create('Ext.data.Store', {
            model: 'UbicacionInventario',
            pageSize: 25,
            proxy: {
                type: 'ajax',
                url: 'ubicacion/IndexById/' + btn.Seleccion,
                reader: {
                    type: 'json',
                    root: 'grid'
                }
            }
        });

        StoreUbicacionInventarioE.on('load', function(store, records) {
            Ext.getCmp('FrmUbicacionInventario').loadRecord(records[0]);
        });

        var Frm = Ext.create('Ext.form.Panel', {
            id: 'FrmUbicacionInventario',
            frame: true,
            bodyPadding: '5',
            fieldDefaults: {
                msgTarget: 'side',
                labelAlign: 'left',
                labelWidth: 70,
                anchor: '100%'
            },
            items: [{
                    xtype: 'textfield',
                    name: 'NomUbicacion',
                    allowBlank: false,
                    fieldLabel: 'Nombre',
                    //fieldStyle : 'text-transform: uppercase'
                    vtype: 'uppercase'

                }, {
                    xtype: 'textareafield',
                    name: 'DescUbicacion',
                    allowBlank: false,
                    fieldLabel: 'Descripcion',
                    vtype: 'uppercase'
                }, {
                    xtype: 'hiddenfield',
                    name: 'Nivel',
                    allowBlank: false,
                    value: btn.Nivel
                }, {
                    xtype: 'hiddenfield',
                    name: 'IdUbicacionPadre',
                    allowBlank: false,
                    value: btn.IdPadre
                }
            ],
            buttons: [{
                    text: 'Guardar',
                    handler: function() {
                        var form = this.up('form').getForm();
                        if (form.isValid()) {
                            form.submit({
                                url: btn.hrefTarget + (btn.Seleccion ? btn.Seleccion : ''),
                                success: function(form, action) {
                                    Ext.getCmp('ArbUbicacion').getStore().load();
                                    Ext.getCmp('WUbicacionInventario').close();
                                    Ext.MessageBox.show({
                                        msg: 'Registro Creado Correctamente...',
                                        progressText: 'Actualizando...',
                                        width: 300,
                                        icon: 'ext-mb-download'
                                    });
                                    setTimeout(function() {
                                        Ext.MessageBox.hide();
                                    }, 1000);
                                },
                                failure: function(form, action) {
                                    //...
                                }
                            });
                        }
                    }
                }, {
                    text: 'Limpiar',
                    handler: function() {
                        this.up('form').getForm().reset();
                    }
                }
            ]
        });
        if (btn.Seleccion) {
            StoreUbicacionInventarioE.load();
        }
        return Frm;
    },

    Window: function(btn) {
        var Seleccion;
        if (btn.itemId == 'edit') {
            Seleccion = Ext.getCmp('ArbUbicacion').getSelectionModel().getSelection()[0];
            if (!Seleccion) {
                Ext.Msg.show({
                    title: 'Advertencia',
                    msg: 'Seleccione Registro a Editar',
                    icon: Ext.MessageBox.WARNING,
                    buttons: Ext.Msg.OK
                });
                return false;
            } else {
                btn.Seleccion = Seleccion.get('id');
                btn.IdPadre = Seleccion.get('idpadre');
                btn.Nivel = Seleccion.get('nivel');
            }
        }

        var Item = this.Formulario(btn);

        var win = Ext.create('widget.window', {
            id: 'WUbicacionInventario',
            title: btn.getText() + ' Ubicacion Inventario',
            closable: true,
            bodyPadding: '5',
            bodyBorder: false,
            width: 400,
            minWidth: 200,
            height: 200,
            layout: 'fit',
            modal: true,
            items: [Item]
        });

        return win.show();
    }
});